/*
 * @(#)Invoker.java $version 2010. 8. 11
 *
 * Copyright 2007-2010 NHN Corp. All rights Reserved. 
 * NHN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package com.nhncorp.usf.core.invoker;

/**
 * @author Web Platform Development Team
 */
public interface Invoker {

	/**
	 * <b>Invoke.</b><br>
	 * 설정되어 있는 remote로 인자에 맞는 행동을 실행 시킨다.
	 * 
	 * @param objectName remote에서 method가 포함된 object Name
	 * @param methodName remote에서 실행할 method Name 
	 * @param params method에서 요구하는 인자
	 * 
	 * @return the invocation future
	 */
	InvocationFuture invoke(String objectName, String methodName, Object... params);

	/**
	 * Checks if is valid.
	 * 
	 * @return true, if is valid
	 */
	boolean isValid();

	/**
	 * Invoke를 dispose한다.
	 */
	void dispose();
}
